<?php
class Zsession {
	const SESSION_KEY = "Z_FRONT_END"; 
	const SESSION_USER_KEY = "Z_USER_KEY";
	const SESSION_DATA_KEY = "Z_DATA_KEY";
	const SESSION_FLASH_KEY = "Z_FLASH_KEY";
	const SESSION_TRAN_KEY = "Z_TRANSLATION_KEY";
	const SESSION_USER_ONLINE_KEY ="Z_ONLINE_KEY";
	
	static function setUserToSession($user) {
        $_SESSION[Zsession::SESSION_KEY][Zsession::SESSION_USER_KEY] = $user; 
    }
    
    static function setDataToSession($key, $data) {
        $_SESSION[Zsession::SESSION_KEY][Zsession::SESSION_DATA_KEY][$key] = $data;
    }
    
    static function removeDataFromSession($key) {
        unset($_SESSION[Zsession::SESSION_KEY][Zsession::SESSION_DATA_KEY][$key]);
    }
    
    static function destroySession() {
    	unset($_SESSION[Zsession::SESSION_KEY][Zsession::SESSION_DATA_KEY]);
    	unset($_SESSION[Zsession::SESSION_KEY]);
    } 
    
    static function getUserFromSession() {
       if (!isset($_SESSION[Zsession::SESSION_KEY][Zsession::SESSION_USER_KEY])) {
           return null;
       }
       return $_SESSION[Zsession::SESSION_KEY][Zsession::SESSION_USER_KEY];
    }
    
    static function getDataFromSession($key) {
    	if (!isset($_SESSION[Zsession::SESSION_KEY][Zsession::SESSION_DATA_KEY][$key])) {
    		return null;
    	}
    	
    	return $_SESSION[Zsession::SESSION_KEY][Zsession::SESSION_DATA_KEY][$key];
    }
    
    static function setFlash($key, $data) {
        $_SESSION[Zsession::SESSION_KEY][Zsession::SESSION_FLASH_KEY][$key] = $data;
    }
    
    static function getFlash($key) {
    	if (!isset($_SESSION[Zsession::SESSION_KEY][Zsession::SESSION_FLASH_KEY][$key])) {
    		return null;
    	}
    	
    	$result = $_SESSION[Zsession::SESSION_KEY][Zsession::SESSION_FLASH_KEY][$key];
        unset($_SESSION[Zsession::SESSION_KEY][Zsession::SESSION_FLASH_KEY][$key]);
        return $result;
    }
    
    static function setLanguage($lan_id, $lan_code) {
    	$_SESSION[Zsession::SESSION_KEY][Zsession::SESSION_TRAN_KEY]['language_id'] = $lan_id;
        $_SESSION[Zsession::SESSION_KEY][Zsession::SESSION_TRAN_KEY]['language'] = $lan_code; 
    }
    
    static function getLanguageArr() {
        return $_SESSION[Zsession::SESSION_KEY][Zsession::SESSION_TRAN_KEY];
    }
    
    static function getLanguage () {
        return $_SESSION[Zsession::SESSION_KEY][Zsession::SESSION_TRAN_KEY]['language'];
    }
    
    static function getLanguageId() {
        return $_SESSION[Zsession::SESSION_KEY][Zsession::SESSION_TRAN_KEY]['language_id'];
    }
    
    static function setPreURL($preURL) {
        $_SESSION[Zsession::SESSION_KEY]["preURL"] = $preURL;
    }
    
	static function getPreURL() {
        return $_SESSION[Zsession::SESSION_KEY]["preURL"];
    }
    
    static function setCurURL ($curURL) { 
        $_SESSION[Zsession::SESSION_KEY]["curURL"] = $curURL;
    }
    
	static function getcurURL() {
        return $_SESSION[Zsession::SESSION_KEY]["curURL"];
    }
    
    

}